<?php
/**
 * OrdersV0ApiTest
 * PHP version 8.3
 *
 * @category Class
 * @package  SpApi
 * @author   OpenAPI Generator team
 * @link     https://openapi-generator.tech
 */

/**
 * Selling Partner API for Orders
 *
 * Use the Orders Selling Partner API to programmatically retrieve order information. With this API, you can develop fast, flexible, and custom applications to manage order synchronization, perform order research, and create demand-based decision support tools.   _Note:_ For the JP, AU, and SG marketplaces, the Orders API supports orders from 2016 onward. For all other marketplaces, the Orders API supports orders for the last two years (orders older than this don't show up in the response).
 *
 * The version of the OpenAPI document: v0
 * Generated by: https://openapi-generator.tech
 * Generator version: 7.9.0
 */

/**
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Please update the test case below to test the endpoint.
 */

namespace SpApi\Test\Api;

use SpApi\ApiException;
use SpApi\Api\orders\v0\OrdersV0Api;
use SpApi\ObjectSerializer;

/**
 * OrdersV0ApiTest Class Doc Comment
 *
 * @category Class
 * @package  SpApi
 * @author   OpenAPI Generator team
 * @link     https://openapi-generator.tech
 */
class OrdersV0ApiTest extends BaseTestCase
{
    private OrdersV0Api $apiInstance;
    public function setUp(): void
    {
        parent::setUp();
        // Initialize parameter value specific to case
        $this->testHelper->setSpecificValue('OrdersV0Api', $this->getName());
        $this->apiInstance = new OrdersV0Api($this->config, null);
        // Change Time Format if it requires
        $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
        if ($specificTimeFormat) {
            ObjectSerializer::setDateTimeFormat($specificTimeFormat);
        }
    }

    /**
     * Test case for confirmShipment_204
     */
    public function testConfirmShipment204()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testConfirmShipment204', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Success.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : { },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;902-1106328-1059050&quot;
          },
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;marketplaceId&quot; : &quot;ATVPDKIKX0DER&quot;,
              &quot;packageDetail&quot; : {
                &quot;packageReferenceId&quot; : &quot;1&quot;,
                &quot;carrierCode&quot; : &quot;FedEx&quot;,
                &quot;carrierName&quot; : &quot;FedEx&quot;,
                &quot;shippingMethod&quot; : &quot;FedEx Ground&quot;,
                &quot;trackingNumber&quot; : &quot;112345678&quot;,
                &quot;shipDate&quot; : &quot;2022-02-11T01:00:00.000Z&quot;,
                &quot;shipFromSupplySourceId&quot; : &quot;057d3fcc-b750-419f-bbcd-4d340c60c430&quot;,
                &quot;orderItems&quot; : [ {
                  &quot;orderItemId&quot; : &quot;79039765272157&quot;,
                  &quot;quantity&quot; : 1,
                  &quot;transparencyCodes&quot; : [ &quot;09876543211234567890&quot; ]
                } ]
              }
            }
          }
        }
      },
      &quot;response&quot; : { }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'confirmShipment'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->confirmShipmentWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(204, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 204, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 204);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for confirmShipment_400
     */
    public function testConfirmShipment400()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testConfirmShipment400', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request has missing or invalid parameters and cannot be parsed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/ConfirmShipmentErrorResponse&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;902-1106328-1059050&quot;
          },
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;marketplaceId&quot; : &quot;ATVPDKIKX0DER&quot;,
              &quot;packageDetail&quot; : {
                &quot;packageReferenceId&quot; : &quot;1&quot;,
                &quot;carrierCode&quot; : &quot;FedEx&quot;,
                &quot;carrierName&quot; : &quot;FedEx&quot;,
                &quot;shippingMethod&quot; : &quot;FedEx Ground&quot;,
                &quot;trackingNumber&quot; : &quot;112345678&quot;,
                &quot;shipDate&quot; : &quot;02/21/2022&quot;,
                &quot;shipFromSupplySourceId&quot; : &quot;057d3fcc-b750-419f-bbcd-4d340c60c430&quot;,
                &quot;orderItems&quot; : [ {
                  &quot;orderItemId&quot; : &quot;79039765272157&quot;,
                  &quot;quantity&quot; : 1,
                  &quot;transparencyCodes&quot; : [ &quot;09876543211234567890&quot; ]
                } ]
              }
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;Invalid Input&quot;,
          &quot;message&quot; : &quot;Invalid Input&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'confirmShipment'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->confirmShipmentWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(400, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 400, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 400);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for confirmShipment_401
     */
    public function testConfirmShipment401()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for confirmShipment_403
     */
    public function testConfirmShipment403()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for confirmShipment_404
     */
    public function testConfirmShipment404()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for confirmShipment_429
     */
    public function testConfirmShipment429()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for confirmShipment_500
     */
    public function testConfirmShipment500()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for confirmShipment_503
     */
    public function testConfirmShipment503()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrder_200
     */
    public function testGetOrder200()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetOrder200', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Success.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/GetOrderResponse&quot;
      },
      &quot;example&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;902-3159896-1390916&quot;,
          &quot;PurchaseDate&quot; : &quot;2017-01-20T19:49:35Z&quot;,
          &quot;LastUpdateDate&quot; : &quot;2017-01-20T19:49:35Z&quot;,
          &quot;OrderStatus&quot; : &quot;Pending&quot;,
          &quot;FulfillmentChannel&quot; : &quot;SellerFulfilled&quot;,
          &quot;NumberOfItemsShipped&quot; : 0,
          &quot;NumberOfItemsUnshipped&quot; : 0,
          &quot;PaymentMethod&quot; : &quot;Other&quot;,
          &quot;PaymentMethodDetails&quot; : [ &quot;CreditCard&quot;, &quot;GiftCerificate&quot; ],
          &quot;MarketplaceId&quot; : &quot;ATVPDKIKX0DER&quot;,
          &quot;ShipmentServiceLevelCategory&quot; : &quot;Standard&quot;,
          &quot;OrderType&quot; : &quot;StandardOrder&quot;,
          &quot;EarliestShipDate&quot; : &quot;2017-01-20T19:51:16Z&quot;,
          &quot;LatestShipDate&quot; : &quot;2017-01-25T19:49:35Z&quot;,
          &quot;IsBusinessOrder&quot; : false,
          &quot;IsPrime&quot; : false,
          &quot;IsGlobalExpressEnabled&quot; : false,
          &quot;IsPremiumOrder&quot; : false,
          &quot;IsSoldByAB&quot; : false,
          &quot;IsIBA&quot; : false,
          &quot;DefaultShipFromLocationAddress&quot; : {
            &quot;Name&quot; : &quot;MFNIntegrationTestMerchant&quot;,
            &quot;AddressLine1&quot; : &quot;2201 WESTLAKE AVE&quot;,
            &quot;City&quot; : &quot;SEATTLE&quot;,
            &quot;StateOrRegion&quot; : &quot;WA&quot;,
            &quot;PostalCode&quot; : &quot;98121-2778&quot;,
            &quot;CountryCode&quot; : &quot;US&quot;,
            &quot;Phone&quot; : &quot;+1 480-386-0930 ext. 73824&quot;,
            &quot;AddressType&quot; : &quot;Commercial&quot;
          },
          &quot;FulfillmentInstruction&quot; : {
            &quot;FulfillmentSupplySourceId&quot; : &quot;sampleSupplySourceId&quot;
          },
          &quot;IsISPU&quot; : false,
          &quot;IsAccessPointOrder&quot; : false,
          &quot;ShippingAddress&quot; : {
            &quot;Name&quot; : &quot;Michigan address&quot;,
            &quot;AddressLine1&quot; : &quot;1 Cross St.&quot;,
            &quot;City&quot; : &quot;Canton&quot;,
            &quot;StateOrRegion&quot; : &quot;MI&quot;,
            &quot;PostalCode&quot; : &quot;48817&quot;,
            &quot;CountryCode&quot; : &quot;US&quot;
          },
          &quot;BuyerInfo&quot; : {
            &quot;BuyerEmail&quot; : &quot;user@example.com&quot;,
            &quot;BuyerName&quot; : &quot;John Doe&quot;,
            &quot;BuyerTaxInfo&quot; : {
              &quot;CompanyLegalName&quot; : &quot;A Company Name&quot;
            },
            &quot;PurchaseOrderNumber&quot; : &quot;1234567890123&quot;
          },
          &quot;AutomatedShippingSettings&quot; : {
            &quot;HasAutomatedShippingSettings&quot; : false
          }
        }
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_200&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;902-1845936-5435065&quot;,
          &quot;PurchaseDate&quot; : &quot;1970-01-19T03:58:30Z&quot;,
          &quot;LastUpdateDate&quot; : &quot;1970-01-19T03:58:32Z&quot;,
          &quot;OrderStatus&quot; : &quot;Unshipped&quot;,
          &quot;FulfillmentChannel&quot; : &quot;MFN&quot;,
          &quot;SalesChannel&quot; : &quot;Amazon.com&quot;,
          &quot;ShipServiceLevel&quot; : &quot;Std US D2D Dom&quot;,
          &quot;OrderTotal&quot; : {
            &quot;CurrencyCode&quot; : &quot;USD&quot;,
            &quot;Amount&quot; : &quot;11.01&quot;
          },
          &quot;NumberOfItemsShipped&quot; : 0,
          &quot;NumberOfItemsUnshipped&quot; : 1,
          &quot;PaymentMethod&quot; : &quot;Other&quot;,
          &quot;PaymentMethodDetails&quot; : [ &quot;Standard&quot; ],
          &quot;IsReplacementOrder&quot; : false,
          &quot;MarketplaceId&quot; : &quot;ATVPDKIKX0DER&quot;,
          &quot;ShipmentServiceLevelCategory&quot; : &quot;Standard&quot;,
          &quot;OrderType&quot; : &quot;StandardOrder&quot;,
          &quot;EarliestShipDate&quot; : &quot;1970-01-19T03:59:27Z&quot;,
          &quot;LatestShipDate&quot; : &quot;1970-01-19T04:05:13Z&quot;,
          &quot;EarliestDeliveryDate&quot; : &quot;1970-01-19T04:06:39Z&quot;,
          &quot;LatestDeliveryDate&quot; : &quot;1970-01-19T04:15:17Z&quot;,
          &quot;IsBusinessOrder&quot; : false,
          &quot;IsPrime&quot; : false,
          &quot;IsGlobalExpressEnabled&quot; : false,
          &quot;IsPremiumOrder&quot; : false,
          &quot;IsSoldByAB&quot; : false,
          &quot;IsIBA&quot; : false,
          &quot;DefaultShipFromLocationAddress&quot; : {
            &quot;Name&quot; : &quot;MFNIntegrationTestMerchant&quot;,
            &quot;AddressLine1&quot; : &quot;2201 WESTLAKE AVE&quot;,
            &quot;City&quot; : &quot;SEATTLE&quot;,
            &quot;StateOrRegion&quot; : &quot;WA&quot;,
            &quot;PostalCode&quot; : &quot;98121-2778&quot;,
            &quot;CountryCode&quot; : &quot;US&quot;,
            &quot;Phone&quot; : &quot;+1 480-386-0930 ext. 73824&quot;,
            &quot;AddressType&quot; : &quot;Commercial&quot;
          },
          &quot;FulfillmentInstruction&quot; : {
            &quot;FulfillmentSupplySourceId&quot; : &quot;sampleSupplySourceId&quot;
          },
          &quot;IsISPU&quot; : false,
          &quot;IsAccessPointOrder&quot; : false,
          &quot;AutomatedShippingSettings&quot; : {
            &quot;HasAutomatedShippingSettings&quot; : false
          },
          &quot;EasyShipShipmentStatus&quot; : &quot;PendingPickUp&quot;,
          &quot;ElectronicInvoiceStatus&quot; : &quot;NotRequired&quot;
        }
      }
    }, {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_IBA_200&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;921-3175655-0452641&quot;,
          &quot;PurchaseDate&quot; : &quot;2019-05-07T15:42:57.058Z&quot;,
          &quot;LastUpdateDate&quot; : &quot;2019-05-08T21:59:59Z&quot;,
          &quot;OrderStatus&quot; : &quot;Shipped&quot;,
          &quot;FulfillmentChannel&quot; : &quot;AFN&quot;,
          &quot;SalesChannel&quot; : &quot;Amazon.de&quot;,
          &quot;ShipServiceLevel&quot; : &quot;Standard&quot;,
          &quot;OrderTotal&quot; : {
            &quot;CurrencyCode&quot; : &quot;EUR&quot;,
            &quot;Amount&quot; : &quot;100.00&quot;
          },
          &quot;NumberOfItemsShipped&quot; : 1,
          &quot;NumberOfItemsUnshipped&quot; : 0,
          &quot;PaymentMethod&quot; : &quot;Other&quot;,
          &quot;PaymentMethodDetails&quot; : [ &quot;Invoice&quot; ],
          &quot;IsReplacementOrder&quot; : false,
          &quot;MarketplaceId&quot; : &quot;A1PA6795UKMFR9&quot;,
          &quot;ShipmentServiceLevelCategory&quot; : &quot;Standard&quot;,
          &quot;OrderType&quot; : &quot;StandardOrder&quot;,
          &quot;EarliestShipDate&quot; : &quot;1970-01-19T03:59:27Z&quot;,
          &quot;LatestShipDate&quot; : &quot;2019-05-08T21:59:59Z&quot;,
          &quot;EarliestDeliveryDate&quot; : &quot;2019-05-10T21:59:59Z&quot;,
          &quot;LatestDeliveryDate&quot; : &quot;2019-05-12T21:59:59Z&quot;,
          &quot;IsBusinessOrder&quot; : true,
          &quot;IsPrime&quot; : false,
          &quot;IsGlobalExpressEnabled&quot; : false,
          &quot;IsPremiumOrder&quot; : false,
          &quot;IsSoldByAB&quot; : true,
          &quot;IsIBA&quot; : true,
          &quot;DefaultShipFromLocationAddress&quot; : {
            &quot;Name&quot; : &quot;MFNIntegrationTestMerchant&quot;,
            &quot;AddressLine1&quot; : &quot;2201 WESTLAKE AVE&quot;,
            &quot;City&quot; : &quot;SEATTLE&quot;,
            &quot;StateOrRegion&quot; : &quot;WA&quot;,
            &quot;PostalCode&quot; : &quot;98121-2778&quot;,
            &quot;CountryCode&quot; : &quot;US&quot;,
            &quot;Phone&quot; : &quot;+1 480-386-0930 ext. 73824&quot;,
            &quot;AddressType&quot; : &quot;Commercial&quot;
          },
          &quot;FulfillmentInstruction&quot; : {
            &quot;FulfillmentSupplySourceId&quot; : &quot;sampleSupplySourceId&quot;
          },
          &quot;IsISPU&quot; : false,
          &quot;IsAccessPointOrder&quot; : false,
          &quot;AutomatedShippingSettings&quot; : {
            &quot;HasAutomatedShippingSettings&quot; : false
          },
          &quot;EasyShipShipmentStatus&quot; : &quot;PendingPickUp&quot;,
          &quot;ElectronicInvoiceStatus&quot; : &quot;NotRequired&quot;
        }
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getOrder'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getOrderWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(200, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 200, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 200);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getOrder_400
     */
    public function testGetOrder400()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetOrder400', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request has missing or invalid parameters and cannot be parsed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/GetOrderResponse&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_400&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Invalid Input&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getOrder'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getOrderWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(400, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 400, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 400);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getOrder_403
     */
    public function testGetOrder403()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrder_404
     */
    public function testGetOrder404()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrder_429
     */
    public function testGetOrder429()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrder_500
     */
    public function testGetOrder500()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrder_503
     */
    public function testGetOrder503()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderAddress_200
     */
    public function testGetOrderAddress200()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetOrderAddress200', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Success.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/GetOrderAddressResponse&quot;
      },
      &quot;example&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;902-3159896-1390916&quot;,
          &quot;ShippingAddress&quot; : {
            &quot;Name&quot; : &quot;Michigan address&quot;,
            &quot;AddressLine1&quot; : &quot;1 cross st&quot;,
            &quot;City&quot; : &quot;Canton&quot;,
            &quot;StateOrRegion&quot; : &quot;MI&quot;,
            &quot;PostalCode&quot; : &quot;48817&quot;,
            &quot;CountryCode&quot; : &quot;US&quot;
          }
        }
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_200&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;902-1845936-5435065&quot;,
          &quot;ShippingAddress&quot; : {
            &quot;Name&quot; : &quot;MFNIntegrationTestMerchant&quot;,
            &quot;AddressLine1&quot; : &quot;2201 WESTLAKE AVE&quot;,
            &quot;City&quot; : &quot;SEATTLE&quot;,
            &quot;StateOrRegion&quot; : &quot;WA&quot;,
            &quot;PostalCode&quot; : &quot;98121-2778&quot;,
            &quot;CountryCode&quot; : &quot;US&quot;,
            &quot;Phone&quot; : &quot;+1 480-386-0930 ext. 73824&quot;,
            &quot;AddressType&quot; : &quot;Commercial&quot;
          }
        }
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getOrderAddress'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getOrderAddressWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(200, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 200, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 200);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getOrderAddress_400
     */
    public function testGetOrderAddress400()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetOrderAddress400', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request has missing or invalid parameters and cannot be parsed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/GetOrderAddressResponse&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_400&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Invalid Input&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getOrderAddress'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getOrderAddressWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(400, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 400, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 400);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getOrderAddress_403
     */
    public function testGetOrderAddress403()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderAddress_404
     */
    public function testGetOrderAddress404()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderAddress_429
     */
    public function testGetOrderAddress429()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderAddress_500
     */
    public function testGetOrderAddress500()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderAddress_503
     */
    public function testGetOrderAddress503()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderBuyerInfo_200
     */
    public function testGetOrderBuyerInfo200()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetOrderBuyerInfo200', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Success.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/GetOrderBuyerInfoResponse&quot;
      },
      &quot;example&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;902-3159896-1390916&quot;,
          &quot;BuyerEmail&quot; : &quot;user@example.com&quot;,
          &quot;BuyerName&quot; : &quot;John Smith&quot;,
          &quot;BuyerTaxInfo&quot; : {
            &quot;CompanyLegalName&quot; : &quot;Company Name&quot;
          },
          &quot;PurchaseOrderNumber&quot; : &quot;1234567890123&quot;
        }
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_200&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;902-1845936-5435065&quot;,
          &quot;BuyerEmail&quot; : &quot;fzyrv6gwkhbb15c@example.com&quot;,
          &quot;BuyerName&quot; : &quot;MFNIntegrationTestMerchant&quot;
        }
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getOrderBuyerInfo'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getOrderBuyerInfoWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(200, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 200, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 200);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getOrderBuyerInfo_400
     */
    public function testGetOrderBuyerInfo400()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetOrderBuyerInfo400', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request has missing or invalid parameters and cannot be parsed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/GetOrderBuyerInfoResponse&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_400&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Invalid Input&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getOrderBuyerInfo'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getOrderBuyerInfoWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(400, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 400, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 400);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getOrderBuyerInfo_403
     */
    public function testGetOrderBuyerInfo403()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderBuyerInfo_404
     */
    public function testGetOrderBuyerInfo404()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderBuyerInfo_429
     */
    public function testGetOrderBuyerInfo429()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderBuyerInfo_500
     */
    public function testGetOrderBuyerInfo500()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderBuyerInfo_503
     */
    public function testGetOrderBuyerInfo503()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderItems_200
     */
    public function testGetOrderItems200()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetOrderItems200', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Success.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/GetOrderItemsResponse&quot;
      },
      &quot;example&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;903-1671087-0812628&quot;,
          &quot;NextToken&quot; : &quot;2YgYW55IGNhcm5hbCBwbGVhc3VyZS4&quot;,
          &quot;OrderItems&quot; : [ {
            &quot;ASIN&quot; : &quot;BT0093TELA&quot;,
            &quot;OrderItemId&quot; : &quot;68828574383266&quot;,
            &quot;SellerSKU&quot; : &quot;CBA_OTF_1&quot;,
            &quot;Title&quot; : &quot;Example item name&quot;,
            &quot;QuantityOrdered&quot; : 1,
            &quot;QuantityShipped&quot; : 1,
            &quot;PointsGranted&quot; : {
              &quot;PointsNumber&quot; : 10,
              &quot;PointsMonetaryValue&quot; : {
                &quot;CurrencyCode&quot; : &quot;JPY&quot;,
                &quot;Amount&quot; : &quot;10.00&quot;
              }
            },
            &quot;ItemPrice&quot; : {
              &quot;CurrencyCode&quot; : &quot;JPY&quot;,
              &quot;Amount&quot; : &quot;25.99&quot;
            },
            &quot;ShippingPrice&quot; : {
              &quot;CurrencyCode&quot; : &quot;JPY&quot;,
              &quot;Amount&quot; : &quot;1.26&quot;
            },
            &quot;ScheduledDeliveryEndDate&quot; : &quot;2013-09-09T01:30:00Z&quot;,
            &quot;ScheduledDeliveryStartDate&quot; : &quot;2013-09-07T02:00:00Z&quot;,
            &quot;CODFee&quot; : {
              &quot;CurrencyCode&quot; : &quot;JPY&quot;,
              &quot;Amount&quot; : &quot;10.00&quot;
            },
            &quot;CODFeeDiscount&quot; : {
              &quot;CurrencyCode&quot; : &quot;JPY&quot;,
              &quot;Amount&quot; : &quot;1.00&quot;
            },
            &quot;PriceDesignation&quot; : &quot;BusinessPrice&quot;,
            &quot;BuyerInfo&quot; : {
              &quot;BuyerCustomizedInfo&quot; : {
                &quot;CustomizedURL&quot; : &quot;https://zme-caps.amazon.com/t/bR6qHkzSOxuB/J8nbWhze0Bd3DkajkOdY-XQbWkFralegp2sr_QZiKEE/1&quot;
              },
              &quot;GiftMessageText&quot; : &quot;For you!&quot;,
              &quot;GiftWrapPrice&quot; : {
                &quot;CurrencyCode&quot; : &quot;GBP&quot;,
                &quot;Amount&quot; : &quot;41.99&quot;
              },
              &quot;GiftWrapLevel&quot; : &quot;Classic&quot;
            },
            &quot;BuyerRequestedCancel&quot; : {
              &quot;IsBuyerRequestedCancel&quot; : &quot;true&quot;,
              &quot;BuyerCancelReason&quot; : &quot;Found cheaper somewhere else.&quot;
            },
            &quot;SerialNumbers&quot; : [ &quot;854&quot; ]
          }, {
            &quot;ASIN&quot; : &quot;BCTU1104UEFB&quot;,
            &quot;OrderItemId&quot; : &quot;79039765272157&quot;,
            &quot;SellerSKU&quot; : &quot;CBA_OTF_5&quot;,
            &quot;Title&quot; : &quot;Example item name&quot;,
            &quot;QuantityOrdered&quot; : 2,
            &quot;ItemPrice&quot; : {
              &quot;CurrencyCode&quot; : &quot;JPY&quot;,
              &quot;Amount&quot; : &quot;17.95&quot;
            },
            &quot;PromotionIds&quot; : [ &quot;FREESHIP&quot; ],
            &quot;ConditionId&quot; : &quot;Used&quot;,
            &quot;ConditionSubtypeId&quot; : &quot;Mint&quot;,
            &quot;ConditionNote&quot; : &quot;Example ConditionNote&quot;,
            &quot;PriceDesignation&quot; : &quot;BusinessPrice&quot;,
            &quot;BuyerInfo&quot; : {
              &quot;BuyerCustomizedInfo&quot; : {
                &quot;CustomizedURL&quot; : &quot;https://zme-caps.amazon.com/t/bR6qHkzSOxuB/J8nbWhze0Bd3DkajkOdY-XQbWkFralegp2sr_QZiKEE/1&quot;
              },
              &quot;GiftMessageText&quot; : &quot;For you!&quot;,
              &quot;GiftWrapPrice&quot; : {
                &quot;CurrencyCode&quot; : &quot;JPY&quot;,
                &quot;Amount&quot; : &quot;1.99&quot;
              },
              &quot;GiftWrapLevel&quot; : &quot;Classic&quot;
            },
            &quot;BuyerRequestedCancel&quot; : {
              &quot;IsBuyerRequestedCancel&quot; : &quot;true&quot;,
              &quot;BuyerCancelReason&quot; : &quot;Found cheaper somewhere else.&quot;
            }
          } ]
        }
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_200&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;902-1845936-5435065&quot;,
          &quot;OrderItems&quot; : [ {
            &quot;ASIN&quot; : &quot;B00551Q3CS&quot;,
            &quot;OrderItemId&quot; : &quot;05015851154158&quot;,
            &quot;SellerSKU&quot; : &quot;NABetaASINB00551Q3CS&quot;,
            &quot;Title&quot; : &quot;B00551Q3CS [Card Book]&quot;,
            &quot;QuantityOrdered&quot; : 1,
            &quot;QuantityShipped&quot; : 0,
            &quot;ProductInfo&quot; : {
              &quot;NumberOfItems&quot; : &quot;1&quot;
            },
            &quot;ItemPrice&quot; : {
              &quot;CurrencyCode&quot; : &quot;USD&quot;,
              &quot;Amount&quot; : &quot;10.00&quot;
            },
            &quot;ItemTax&quot; : {
              &quot;CurrencyCode&quot; : &quot;USD&quot;,
              &quot;Amount&quot; : &quot;1.01&quot;
            },
            &quot;PromotionDiscount&quot; : {
              &quot;CurrencyCode&quot; : &quot;USD&quot;,
              &quot;Amount&quot; : &quot;0.00&quot;
            },
            &quot;IsGift&quot; : &quot;false&quot;,
            &quot;ConditionId&quot; : &quot;New&quot;,
            &quot;ConditionSubtypeId&quot; : &quot;New&quot;,
            &quot;IsTransparency&quot; : false,
            &quot;SerialNumberRequired&quot; : false,
            &quot;IossNumber&quot; : &quot;&quot;,
            &quot;DeemedResellerCategory&quot; : &quot;IOSS&quot;,
            &quot;StoreChainStoreId&quot; : &quot;ISPU_StoreId&quot;,
            &quot;BuyerRequestedCancel&quot; : {
              &quot;IsBuyerRequestedCancel&quot; : &quot;true&quot;,
              &quot;BuyerCancelReason&quot; : &quot;Found cheaper somewhere else.&quot;
            }
          } ]
        }
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getOrderItems'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getOrderItemsWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(200, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 200, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 200);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getOrderItems_400
     */
    public function testGetOrderItems400()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetOrderItems400', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request has missing or invalid parameters and cannot be parsed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/GetOrderItemsResponse&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_400&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Invalid Input&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getOrderItems'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getOrderItemsWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(400, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 400, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 400);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getOrderItems_403
     */
    public function testGetOrderItems403()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderItems_404
     */
    public function testGetOrderItems404()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderItems_429
     */
    public function testGetOrderItems429()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderItems_500
     */
    public function testGetOrderItems500()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderItems_503
     */
    public function testGetOrderItems503()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderItemsBuyerInfo_200
     */
    public function testGetOrderItemsBuyerInfo200()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetOrderItemsBuyerInfo200', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Success.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/GetOrderItemsBuyerInfoResponse&quot;
      },
      &quot;example&quot; : {
        &quot;payload&quot; : {
          &quot;OrderItemId&quot; : &quot;903-1671087-0812628&quot;,
          &quot;BuyerCustomizedInfo&quot; : {
            &quot;CustomizedURL&quot; : &quot;https://zme-caps.amazon.com/t/bR6qHkzSOxuB/J8nbWhze0Bd3DkajkOdY-XQbWkFralegp2sr_QZiKEE/1&quot;
          },
          &quot;GiftMessageText&quot; : &quot;For you!&quot;,
          &quot;GiftWrapPrice&quot; : {
            &quot;CurrencyCode&quot; : &quot;JPY&quot;,
            &quot;Amount&quot; : &quot;1.99&quot;
          },
          &quot;GiftWrapLevel&quot; : &quot;Classic&quot;
        }
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_200&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;902-1845936-5435065&quot;,
          &quot;OrderItems&quot; : [ {
            &quot;BuyerCustomizedInfo&quot; : {
              &quot;CustomizedURL&quot; : &quot;https://zme-caps.amazon.com/t/bR6qHkzSOxuB/J8nbWhze0Bd3DkajkOdY-XQbWkFralegp2sr_QZiKEE/1&quot;
            },
            &quot;GiftMessageText&quot; : &quot;Et toi!&quot;,
            &quot;GiftWrapPrice&quot; : {
              &quot;CurrencyCode&quot; : &quot;JPY&quot;,
              &quot;Amount&quot; : &quot;1.99&quot;
            },
            &quot;GiftWrapLevel&quot; : &quot;Classic&quot;
          } ]
        }
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getOrderItemsBuyerInfo'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getOrderItemsBuyerInfoWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(200, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 200, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 200);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getOrderItemsBuyerInfo_400
     */
    public function testGetOrderItemsBuyerInfo400()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetOrderItemsBuyerInfo400', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request has missing or invalid parameters and cannot be parsed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/GetOrderItemsBuyerInfoResponse&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_400&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Invalid Input&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getOrderItemsBuyerInfo'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getOrderItemsBuyerInfoWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(400, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 400, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 400);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getOrderItemsBuyerInfo_403
     */
    public function testGetOrderItemsBuyerInfo403()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderItemsBuyerInfo_404
     */
    public function testGetOrderItemsBuyerInfo404()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderItemsBuyerInfo_429
     */
    public function testGetOrderItemsBuyerInfo429()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderItemsBuyerInfo_500
     */
    public function testGetOrderItemsBuyerInfo500()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderItemsBuyerInfo_503
     */
    public function testGetOrderItemsBuyerInfo503()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderRegulatedInfo_200
     */
    public function testGetOrderRegulatedInfo200()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetOrderRegulatedInfo200', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Success.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/GetOrderRegulatedInfoResponse&quot;
      }
    },
    &quot;PendingOrder&quot; : {
      &quot;example&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;902-3159896-1390916&quot;,
          &quot;RequiresDosageLabel&quot; : false,
          &quot;RegulatedInformation&quot; : {
            &quot;Fields&quot; : [ {
              &quot;FieldId&quot; : &quot;pet_prescription_name&quot;,
              &quot;FieldLabel&quot; : &quot;Name&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Ruffus&quot;
            }, {
              &quot;FieldId&quot; : &quot;pet_prescription_species&quot;,
              &quot;FieldLabel&quot; : &quot;Species&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Dog&quot;
            } ]
          },
          &quot;RegulatedOrderVerificationStatus&quot; : {
            &quot;Status&quot; : &quot;Pending&quot;,
            &quot;RequiresMerchantAction&quot; : true,
            &quot;ValidRejectionReasons&quot; : [ {
              &quot;RejectionReasonId&quot; : &quot;shield_pom_vps_reject_product&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;This medicine is not suitable for your pet.&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;shield_pom_vps_reject_age&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Your pet is too young for this medicine.&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;shield_pom_vps_reject_incorrect_weight&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Your pet&#39;s weight does not match ordered size.&quot;
            } ]
          }
        }
      }
    },
    &quot;ApprovedOrder&quot; : {
      &quot;example&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;902-3159896-1390916&quot;,
          &quot;RequiresDosageLabel&quot; : false,
          &quot;RegulatedInformation&quot; : {
            &quot;Fields&quot; : [ {
              &quot;FieldId&quot; : &quot;pet_prescription_name&quot;,
              &quot;FieldLabel&quot; : &quot;Name&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Ruffus&quot;
            }, {
              &quot;FieldId&quot; : &quot;pet_prescription_species&quot;,
              &quot;FieldLabel&quot; : &quot;Species&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Dog&quot;
            } ]
          },
          &quot;RegulatedOrderVerificationStatus&quot; : {
            &quot;Status&quot; : &quot;Approved&quot;,
            &quot;RequiresMerchantAction&quot; : false,
            &quot;ValidRejectionReasons&quot; : [ ],
            &quot;ExternalReviewerId&quot; : &quot;externalId&quot;,
            &quot;ReviewDate&quot; : &quot;1970-01-19T03:59:27Z&quot;
          }
        }
      }
    },
    &quot;RejectedOrder&quot; : {
      &quot;example&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;902-3159896-1390916&quot;,
          &quot;RequiresDosageLabel&quot; : false,
          &quot;RegulatedInformation&quot; : {
            &quot;Fields&quot; : [ {
              &quot;FieldId&quot; : &quot;pet_prescription_name&quot;,
              &quot;FieldLabel&quot; : &quot;Name&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Ruffus&quot;
            }, {
              &quot;FieldId&quot; : &quot;pet_prescription_species&quot;,
              &quot;FieldLabel&quot; : &quot;Species&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Dog&quot;
            } ]
          },
          &quot;RegulatedOrderVerificationStatus&quot; : {
            &quot;Status&quot; : &quot;Rejected&quot;,
            &quot;RequiresMerchantAction&quot; : false,
            &quot;RejectionReason&quot; : {
              &quot;RejectionReasonId&quot; : &quot;shield_pom_vps_reject_species&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;This medicine is not suitable for this type of pet.&quot;
            },
            &quot;ValidRejectionReasons&quot; : [ ],
            &quot;ExternalReviewerId&quot; : &quot;externalId&quot;,
            &quot;ReviewDate&quot; : &quot;1970-01-19T03:59:27Z&quot;
          }
        }
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;902-3159896-1390916&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;902-3159896-1390916&quot;,
          &quot;RequiresDosageLabel&quot; : false,
          &quot;RegulatedInformation&quot; : {
            &quot;Fields&quot; : [ {
              &quot;FieldId&quot; : &quot;pet_prescription_name&quot;,
              &quot;FieldLabel&quot; : &quot;Name&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Ruffus&quot;
            }, {
              &quot;FieldId&quot; : &quot;pet_prescription_species&quot;,
              &quot;FieldLabel&quot; : &quot;Species&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Dog&quot;
            } ]
          },
          &quot;RegulatedOrderVerificationStatus&quot; : {
            &quot;Status&quot; : &quot;Pending&quot;,
            &quot;RequiresMerchantAction&quot; : true,
            &quot;ValidRejectionReasons&quot; : [ {
              &quot;RejectionReasonId&quot; : &quot;shield_pom_vps_reject_product&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;This medicine is not suitable for your pet.&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;shield_pom_vps_reject_age&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Your pet is too young for this medicine.&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;shield_pom_vps_reject_incorrect_weight&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Your pet&#39;s weight does not match ordered size.&quot;
            } ]
          }
        }
      }
    }, {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;902-2592119-3531015&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;payload&quot; : {
          &quot;AmazonOrderId&quot; : &quot;902-2592119-3531015&quot;,
          &quot;RequiresDosageLabel&quot; : false,
          &quot;RegulatedInformation&quot; : {
            &quot;Fields&quot; : [ {
              &quot;FieldId&quot; : &quot;pets_rx_scName&quot;,
              &quot;FieldLabel&quot; : &quot;Pet name&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Woofer&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scType&quot;,
              &quot;FieldLabel&quot; : &quot;Pet type&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Dog&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scBreed&quot;,
              &quot;FieldLabel&quot; : &quot;Pet breed&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Husky&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scGender&quot;,
              &quot;FieldLabel&quot; : &quot;Pet gender&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Female&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scDateOfBirth&quot;,
              &quot;FieldLabel&quot; : &quot;Pet Birth Date&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;2016-05-01&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scWeight&quot;,
              &quot;FieldLabel&quot; : &quot;Weight&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;12&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scWeightUnit&quot;,
              &quot;FieldLabel&quot; : &quot;Weight Unit&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Pound&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scHasAllergies&quot;,
              &quot;FieldLabel&quot; : &quot;Does your pet have allergies?&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;False&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scTakesAdditionalMedications&quot;,
              &quot;FieldLabel&quot; : &quot;Is your pet on any other medication?&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;False&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scHasOtherProblems&quot;,
              &quot;FieldLabel&quot; : &quot;Any pet health problems?&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;False&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scSourceClinicId&quot;,
              &quot;FieldLabel&quot; : &quot;Source Clinic ID&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Clinic-1234&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scVetClinicName&quot;,
              &quot;FieldLabel&quot; : &quot;Vet Clinic Name&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Test Clinic&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scVetClinicCity&quot;,
              &quot;FieldLabel&quot; : &quot;Vet Clinic City&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;Seattle&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scVetClinicState&quot;,
              &quot;FieldLabel&quot; : &quot;Vet Clinic State&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;WA&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scVetClinicZipCode&quot;,
              &quot;FieldLabel&quot; : &quot;Vet Clinic Zip Code&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;98000&quot;
            }, {
              &quot;FieldId&quot; : &quot;pets_rx_scVetClinicPhoneNumber&quot;,
              &quot;FieldLabel&quot; : &quot;Vet Clinic Phone Number&quot;,
              &quot;FieldType&quot; : &quot;Text&quot;,
              &quot;FieldValue&quot; : &quot;2060000000&quot;
            } ]
          },
          &quot;RegulatedOrderVerificationStatus&quot; : {
            &quot;Status&quot; : &quot;Pending&quot;,
            &quot;RequiresMerchantAction&quot; : true,
            &quot;ValidRejectionReasons&quot; : [ {
              &quot;RejectionReasonId&quot; : &quot;pets_rx_sc_incorrect_product&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Canceled order due to veterinarian indicating wrong product ordered&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;pets_rx_sc_no_vcpr&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Canceled order due to veterinarian indicating they do not have you as their client&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;pets_rx_sc_visit_required&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Canceled order due to veterinarian indicating they need to see your pet for an appointment&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;pets_rx_sc_wrx_required&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Canceled order due to veterinarian policy requiring you pick up a written prescription and mail to pharmacy&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;pets_rx_sc_other&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Canceled order due to prescription denied - contact your vetinarian&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;pets_rx_sc_therapy_change&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Canceled order due to a change in therapy, follow up with your veterinarian&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;pets_rx_sc_wrong_weight&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Canceled order due to incorrect pet weight on file, update weight and replace order or order correct product&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;pets_rx_sc_early_refill&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Canceled due to refilling prescription order too soon&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;pets_rx_sc_wrong_species&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Canceled due to ordering for wrong pet species, replace order for correct product&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;pets_rx_sc_duplicate&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Canceled due to duplicate order identified&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;pets_rx_sc_invalid_rx&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Canceled due to not receiving a valid prescription&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;pets_rx_sc_address_validation_error&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Canceled due to a non-verified address, correct address and replace order&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;pets_rx_sc_no_clinic_match&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Canceled due to no valid clinic match, provide complete and accurate details for vet clinic and replace order&quot;
            }, {
              &quot;RejectionReasonId&quot; : &quot;pets_rx_sc_pharmacist_canceled&quot;,
              &quot;RejectionReasonDescription&quot; : &quot;Order canceled by pharmacy&quot;
            } ],
            &quot;ValidVerificationDetails&quot; : [ {
              &quot;VerificationDetailType&quot; : &quot;prescriptionDetail&quot;,
              &quot;ValidVerificationStatuses&quot; : [ &quot;Approved&quot; ]
            } ]
          }
        }
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getOrderRegulatedInfo'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getOrderRegulatedInfoWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(200, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 200, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 200);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getOrderRegulatedInfo_400
     */
    public function testGetOrderRegulatedInfo400()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetOrderRegulatedInfo400', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request has missing or invalid parameters and cannot be parsed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/GetOrderRegulatedInfoResponse&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_400&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Invalid Input&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getOrderRegulatedInfo'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getOrderRegulatedInfoWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(400, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 400, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 400);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getOrderRegulatedInfo_403
     */
    public function testGetOrderRegulatedInfo403()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderRegulatedInfo_404
     */
    public function testGetOrderRegulatedInfo404()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderRegulatedInfo_429
     */
    public function testGetOrderRegulatedInfo429()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderRegulatedInfo_500
     */
    public function testGetOrderRegulatedInfo500()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrderRegulatedInfo_503
     */
    public function testGetOrderRegulatedInfo503()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrders_200
     */
    public function testGetOrders200()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetOrders200', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Success.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/GetOrdersResponse&quot;
      },
      &quot;example&quot; : {
        &quot;payload&quot; : {
          &quot;NextToken&quot; : &quot;2YgYW55IGNhcm5hbCBwbGVhc3VyZS4&quot;,
          &quot;Orders&quot; : [ {
            &quot;AmazonOrderId&quot; : &quot;902-3159896-1390916&quot;,
            &quot;PurchaseDate&quot; : &quot;2017-01-20T19:49:35Z&quot;,
            &quot;LastUpdateDate&quot; : &quot;2017-01-20T19:49:35Z&quot;,
            &quot;OrderStatus&quot; : &quot;Pending&quot;,
            &quot;FulfillmentChannel&quot; : &quot;SellerFulfilled&quot;,
            &quot;NumberOfItemsShipped&quot; : 0,
            &quot;NumberOfItemsUnshipped&quot; : 0,
            &quot;PaymentMethod&quot; : &quot;Other&quot;,
            &quot;PaymentMethodDetails&quot; : [ &quot;CreditCard&quot;, &quot;GiftCerificate&quot; ],
            &quot;MarketplaceId&quot; : &quot;ATVPDKIKX0DER&quot;,
            &quot;ShipmentServiceLevelCategory&quot; : &quot;Standard&quot;,
            &quot;OrderType&quot; : &quot;StandardOrder&quot;,
            &quot;EarliestShipDate&quot; : &quot;2017-01-20T19:51:16Z&quot;,
            &quot;LatestShipDate&quot; : &quot;2017-01-25T19:49:35Z&quot;,
            &quot;IsBusinessOrder&quot; : false,
            &quot;IsPrime&quot; : false,
            &quot;IsAccessPointOrder&quot; : false,
            &quot;IsGlobalExpressEnabled&quot; : false,
            &quot;IsPremiumOrder&quot; : false,
            &quot;IsSoldByAB&quot; : false,
            &quot;IsIBA&quot; : false,
            &quot;ShippingAddress&quot; : {
              &quot;Name&quot; : &quot;Michigan address&quot;,
              &quot;AddressLine1&quot; : &quot;1 Cross St.&quot;,
              &quot;City&quot; : &quot;Canton&quot;,
              &quot;StateOrRegion&quot; : &quot;MI&quot;,
              &quot;PostalCode&quot; : &quot;48817&quot;,
              &quot;CountryCode&quot; : &quot;US&quot;
            },
            &quot;BuyerInfo&quot; : {
              &quot;BuyerEmail&quot; : &quot;user@example.com&quot;,
              &quot;BuyerName&quot; : &quot;John Doe&quot;,
              &quot;BuyerTaxInfo&quot; : {
                &quot;CompanyLegalName&quot; : &quot;A Company Name&quot;
              },
              &quot;PurchaseOrderNumber&quot; : &quot;1234567890123&quot;
            }
          } ]
        }
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;CreatedAfter&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_200&quot;
          },
          &quot;MarketplaceIds&quot; : {
            &quot;value&quot; : [ &quot;ATVPDKIKX0DER&quot; ]
          }
        }
      },
      &quot;response&quot; : {
        &quot;payload&quot; : {
          &quot;CreatedBefore&quot; : &quot;1.569521782042E9&quot;,
          &quot;Orders&quot; : [ {
            &quot;AmazonOrderId&quot; : &quot;902-1845936-5435065&quot;,
            &quot;PurchaseDate&quot; : &quot;1970-01-19T03:58:30Z&quot;,
            &quot;LastUpdateDate&quot; : &quot;1970-01-19T03:58:32Z&quot;,
            &quot;OrderStatus&quot; : &quot;Unshipped&quot;,
            &quot;FulfillmentChannel&quot; : &quot;MFN&quot;,
            &quot;SalesChannel&quot; : &quot;Amazon.com&quot;,
            &quot;ShipServiceLevel&quot; : &quot;Std US D2D Dom&quot;,
            &quot;OrderTotal&quot; : {
              &quot;CurrencyCode&quot; : &quot;USD&quot;,
              &quot;Amount&quot; : &quot;11.01&quot;
            },
            &quot;NumberOfItemsShipped&quot; : 0,
            &quot;NumberOfItemsUnshipped&quot; : 1,
            &quot;PaymentMethod&quot; : &quot;Other&quot;,
            &quot;PaymentMethodDetails&quot; : [ &quot;Standard&quot; ],
            &quot;IsReplacementOrder&quot; : false,
            &quot;MarketplaceId&quot; : &quot;ATVPDKIKX0DER&quot;,
            &quot;ShipmentServiceLevelCategory&quot; : &quot;Standard&quot;,
            &quot;OrderType&quot; : &quot;StandardOrder&quot;,
            &quot;EarliestShipDate&quot; : &quot;1970-01-19T03:59:27Z&quot;,
            &quot;LatestShipDate&quot; : &quot;1970-01-19T04:05:13Z&quot;,
            &quot;EarliestDeliveryDate&quot; : &quot;1970-01-19T04:06:39Z&quot;,
            &quot;LatestDeliveryDate&quot; : &quot;1970-01-19T04:15:17Z&quot;,
            &quot;IsBusinessOrder&quot; : false,
            &quot;IsPrime&quot; : false,
            &quot;IsGlobalExpressEnabled&quot; : false,
            &quot;IsPremiumOrder&quot; : false,
            &quot;IsSoldByAB&quot; : false,
            &quot;IsIBA&quot; : false,
            &quot;DefaultShipFromLocationAddress&quot; : {
              &quot;Name&quot; : &quot;MFNIntegrationTestMerchant&quot;,
              &quot;AddressLine1&quot; : &quot;2201 WESTLAKE AVE&quot;,
              &quot;City&quot; : &quot;SEATTLE&quot;,
              &quot;StateOrRegion&quot; : &quot;WA&quot;,
              &quot;PostalCode&quot; : &quot;98121-2778&quot;,
              &quot;CountryCode&quot; : &quot;US&quot;,
              &quot;Phone&quot; : &quot;+1 480-386-0930 ext. 73824&quot;,
              &quot;AddressType&quot; : &quot;Commercial&quot;
            },
            &quot;FulfillmentInstruction&quot; : {
              &quot;FulfillmentSupplySourceId&quot; : &quot;sampleSupplySourceId&quot;
            },
            &quot;IsISPU&quot; : false,
            &quot;IsAccessPointOrder&quot; : false,
            &quot;AutomatedShippingSettings&quot; : {
              &quot;HasAutomatedShippingSettings&quot; : false
            },
            &quot;EasyShipShipmentStatus&quot; : &quot;PendingPickUp&quot;,
            &quot;ElectronicInvoiceStatus&quot; : &quot;NotRequired&quot;
          }, {
            &quot;AmazonOrderId&quot; : &quot;902-8745147-1934268&quot;,
            &quot;PurchaseDate&quot; : &quot;1970-01-19T03:58:30Z&quot;,
            &quot;LastUpdateDate&quot; : &quot;1970-01-19T03:58:32Z&quot;,
            &quot;OrderStatus&quot; : &quot;Unshipped&quot;,
            &quot;FulfillmentChannel&quot; : &quot;MFN&quot;,
            &quot;SalesChannel&quot; : &quot;Amazon.com&quot;,
            &quot;ShipServiceLevel&quot; : &quot;Std US D2D Dom&quot;,
            &quot;OrderTotal&quot; : {
              &quot;CurrencyCode&quot; : &quot;USD&quot;,
              &quot;Amount&quot; : &quot;11.01&quot;
            },
            &quot;NumberOfItemsShipped&quot; : 0,
            &quot;NumberOfItemsUnshipped&quot; : 1,
            &quot;PaymentMethod&quot; : &quot;Other&quot;,
            &quot;PaymentMethodDetails&quot; : [ &quot;Standard&quot; ],
            &quot;IsReplacementOrder&quot; : false,
            &quot;MarketplaceId&quot; : &quot;ATVPDKIKX0DER&quot;,
            &quot;ShipmentServiceLevelCategory&quot; : &quot;Standard&quot;,
            &quot;OrderType&quot; : &quot;StandardOrder&quot;,
            &quot;EarliestShipDate&quot; : &quot;1970-01-19T03:59:27Z&quot;,
            &quot;LatestShipDate&quot; : &quot;1970-01-19T04:05:13Z&quot;,
            &quot;EarliestDeliveryDate&quot; : &quot;1970-01-19T04:06:39Z&quot;,
            &quot;LatestDeliveryDate&quot; : &quot;1970-01-19T04:15:17Z&quot;,
            &quot;IsBusinessOrder&quot; : false,
            &quot;IsPrime&quot; : false,
            &quot;IsAccessPointOrder&quot; : false,
            &quot;IsGlobalExpressEnabled&quot; : false,
            &quot;IsPremiumOrder&quot; : false,
            &quot;IsSoldByAB&quot; : false,
            &quot;IsIBA&quot; : false,
            &quot;EasyShipShipmentStatus&quot; : &quot;PendingPickUp&quot;,
            &quot;ElectronicInvoiceStatus&quot; : &quot;NotRequired&quot;
          } ]
        }
      }
    }, {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;CreatedAfter&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_200_NEXT_TOKEN&quot;
          },
          &quot;MarketplaceIds&quot; : {
            &quot;value&quot; : [ &quot;ATVPDKIKX0DER&quot; ]
          }
        }
      },
      &quot;response&quot; : {
        &quot;payload&quot; : {
          &quot;NextToken&quot; : &quot;2YgYW55IGNhcm5hbCBwbGVhc3VyZS4&quot;,
          &quot;Orders&quot; : [ {
            &quot;AmazonOrderId&quot; : &quot;902-3159896-1390916&quot;,
            &quot;PurchaseDate&quot; : &quot;2017-01-20T19:49:35Z&quot;,
            &quot;LastUpdateDate&quot; : &quot;2017-01-20T19:49:35Z&quot;,
            &quot;OrderStatus&quot; : &quot;Pending&quot;,
            &quot;FulfillmentChannel&quot; : &quot;SellerFulfilled&quot;,
            &quot;NumberOfItemsShipped&quot; : 0,
            &quot;NumberOfItemsUnshipped&quot; : 0,
            &quot;PaymentMethod&quot; : &quot;Other&quot;,
            &quot;PaymentMethodDetails&quot; : [ &quot;CreditCard&quot;, &quot;GiftCerificate&quot; ],
            &quot;MarketplaceId&quot; : &quot;ATVPDKIKX0DER&quot;,
            &quot;ShipmentServiceLevelCategory&quot; : &quot;Standard&quot;,
            &quot;OrderType&quot; : &quot;StandardOrder&quot;,
            &quot;EasyShipShipmentStatus&quot; : &quot;PendingPickUp&quot;,
            &quot;ElectronicInvoiceStatus&quot; : &quot;NotRequired&quot;,
            &quot;EarliestShipDate&quot; : &quot;2017-01-20T19:51:16Z&quot;,
            &quot;LatestShipDate&quot; : &quot;2017-01-25T19:49:35Z&quot;,
            &quot;IsBusinessOrder&quot; : false,
            &quot;IsPrime&quot; : false,
            &quot;IsAccessPointOrder&quot; : false,
            &quot;IsGlobalExpressEnabled&quot; : false,
            &quot;IsPremiumOrder&quot; : false,
            &quot;IsSoldByAB&quot; : false,
            &quot;IsIBA&quot; : false
          } ]
        }
      }
    }, {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;CreatedAfter&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_200_NEXT_TOKEN&quot;
          },
          &quot;MarketplaceIds&quot; : {
            &quot;value&quot; : [ &quot;ATVPDKIKX0DER&quot; ]
          },
          &quot;NextToken&quot; : {
            &quot;value&quot; : &quot;2YgYW55IGNhcm5hbCBwbGVhc3VyZS4&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;payload&quot; : {
          &quot;Orders&quot; : [ {
            &quot;AmazonOrderId&quot; : &quot;902-3159896-1390916&quot;,
            &quot;PurchaseDate&quot; : &quot;2017-01-20T19:49:35Z&quot;,
            &quot;LastUpdateDate&quot; : &quot;2017-01-20T19:49:35Z&quot;,
            &quot;OrderStatus&quot; : &quot;Pending&quot;,
            &quot;FulfillmentChannel&quot; : &quot;SellerFulfilled&quot;,
            &quot;NumberOfItemsShipped&quot; : 0,
            &quot;NumberOfItemsUnshipped&quot; : 0,
            &quot;PaymentMethod&quot; : &quot;Other&quot;,
            &quot;PaymentMethodDetails&quot; : [ &quot;CreditCard&quot;, &quot;GiftCerificate&quot; ],
            &quot;MarketplaceId&quot; : &quot;ATVPDKIKX0DER&quot;,
            &quot;ShipmentServiceLevelCategory&quot; : &quot;Standard&quot;,
            &quot;OrderType&quot; : &quot;StandardOrder&quot;,
            &quot;EasyShipShipmentStatus&quot; : &quot;PendingPickUp&quot;,
            &quot;ElectronicInvoiceStatus&quot; : &quot;NotRequired&quot;,
            &quot;EarliestShipDate&quot; : &quot;2017-01-20T19:51:16Z&quot;,
            &quot;LatestShipDate&quot; : &quot;2017-01-25T19:49:35Z&quot;,
            &quot;IsBusinessOrder&quot; : false,
            &quot;IsPrime&quot; : false,
            &quot;IsAccessPointOrder&quot; : false,
            &quot;IsGlobalExpressEnabled&quot; : false,
            &quot;IsPremiumOrder&quot; : false,
            &quot;IsSoldByAB&quot; : false,
            &quot;IsIBA&quot; : false
          } ]
        }
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getOrders'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getOrdersWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(200, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 200, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 200);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getOrders_400
     */
    public function testGetOrders400()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testGetOrders400', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request has missing or invalid parameters and cannot be parsed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/GetOrdersResponse&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;CreatedAfter&quot; : {
            &quot;value&quot; : &quot;TEST_CASE_400&quot;
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Invalid Input&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'getOrders'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->getOrdersWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(400, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 400, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 400);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for getOrders_403
     */
    public function testGetOrders403()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrders_404
     */
    public function testGetOrders404()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrders_429
     */
    public function testGetOrders429()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrders_500
     */
    public function testGetOrders500()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for getOrders_503
     */
    public function testGetOrders503()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for updateVerificationStatus_204
     */
    public function testUpdateVerificationStatus204()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testUpdateVerificationStatus204', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Success.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : { },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;902-3159896-1390916&quot;
          },
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;regulatedOrderVerificationStatus&quot; : {
                &quot;status&quot; : &quot;Rejected&quot;,
                &quot;externalReviewerId&quot; : &quot;reviewer1234&quot;,
                &quot;rejectionReasonId&quot; : &quot;shield_pom_vps_reject_incorrect_weight&quot;
              }
            }
          }
        }
      },
      &quot;response&quot; : { }
    }, {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;902-3159896-1390916&quot;
          },
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;regulatedOrderVerificationStatus&quot; : {
                &quot;externalReviewerId&quot; : &quot;reviewer1234&quot;,
                &quot;verificationDetails&quot; : {
                  &quot;prescriptionDetail&quot; : {
                    &quot;prescriptionId&quot; : &quot;Rx-1234&quot;,
                    &quot;expirationDate&quot; : &quot;2024-01-01T00:00:00Z&quot;,
                    &quot;writtenQuantity&quot; : 3,
                    &quot;totalRefillsAuthorized&quot; : 10,
                    &quot;usageInstructions&quot; : &quot;Take one per day by mouth with food&quot;,
                    &quot;refillsRemaining&quot; : 10,
                    &quot;clinicId&quot; : &quot;ABC-1234&quot;
                  }
                }
              }
            }
          }
        }
      },
      &quot;response&quot; : { }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'updateVerificationStatus'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->updateVerificationStatusWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(204, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 204, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 204);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for updateVerificationStatus_400
     */
    public function testUpdateVerificationStatus400()
    {
        try {
            // Skip test if it is in the skip list
            if ($this->testHelper->shouldSkipTest('testUpdateVerificationStatus400', 'OrdersV0Api')) {
                $this->assertTrue(true);
                return;
            }
            $jsonSchema = '{
  &quot;description&quot; : &quot;Request has missing or invalid parameters and cannot be parsed.&quot;,
  &quot;headers&quot; : {
    &quot;x-amzn-RequestId&quot; : {
      &quot;description&quot; : &quot;Unique request reference identifier.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    },
    &quot;x-amzn-RateLimit-Limit&quot; : {
      &quot;description&quot; : &quot;Your rate limit (requests per second) for this operation.&quot;,
      &quot;schema&quot; : {
        &quot;type&quot; : &quot;string&quot;
      }
    }
  },
  &quot;content&quot; : {
    &quot;application/json&quot; : {
      &quot;schema&quot; : {
        &quot;$ref&quot; : &quot;#/components/schemas/UpdateVerificationStatusErrorResponse&quot;
      }
    }
  },
  &quot;x-amzn-api-sandbox&quot; : {
    &quot;static&quot; : [ {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;902-3159896-1390916&quot;
          },
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;regulatedOrderVerificationStatus&quot; : {
                &quot;status&quot; : &quot;Rejected&quot;
              }
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Missing request parameter: rejectionReasonId.&quot;
        }, {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Missing request parameter: externalReviewerId.&quot;
        } ]
      }
    }, {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;902-3159896-1390916&quot;
          },
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;regulatedOrderVerificationStatus&quot; : {
                &quot;status&quot; : &quot;Cancelled&quot;,
                &quot;externalReviewerId&quot; : &quot;reviewer1234&quot;
              }
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Invalid request parameter &#x60;status&#x60;. Must be one of [Approved, Rejected].&quot;
        } ]
      }
    }, {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;902-3159896-1390916&quot;
          },
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;regulatedOrderVerificationStatus&quot; : {
                &quot;status&quot; : &quot;Rejected&quot;,
                &quot;rejectionReasonId&quot; : &quot;shield_pom_vps_reject_incorrect_weight&quot;,
                &quot;verificationDetails&quot; : {
                  &quot;prescriptionDetail&quot; : {
                    &quot;prescriptionId&quot; : &quot;Rx-1234&quot;,
                    &quot;expirationDate&quot; : &quot;2024-01-01T00:00:00Z&quot;,
                    &quot;writtenQuantity&quot; : 3,
                    &quot;totalRefillsAuthorized&quot; : 10,
                    &quot;usageInstructions&quot; : &quot;Take one per day by mouth with food&quot;,
                    &quot;refillsRemaining&quot; : 10,
                    &quot;clinicId&quot; : &quot;ABC-1234&quot;
                  }
                }
              }
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Verification Detail &#x60;prescriptionDetail&#x60; is not supported when order is in Rejected status.&quot;
        }, {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Missing request parameter: externalReviewerId.&quot;
        } ]
      }
    }, {
      &quot;request&quot; : {
        &quot;parameters&quot; : {
          &quot;orderId&quot; : {
            &quot;value&quot; : &quot;902-3159896-1390916&quot;
          },
          &quot;body&quot; : {
            &quot;value&quot; : {
              &quot;regulatedOrderVerificationStatus&quot; : {
                &quot;externalReviewerId&quot; : &quot;reviewer1234&quot;,
                &quot;verificationDetails&quot; : {
                  &quot;prescriptionDetail&quot; : {
                    &quot;prescriptionId&quot; : &quot;Rx-1234&quot;,
                    &quot;expirationDate&quot; : &quot;2024-01-01T00:00:00Z&quot;,
                    &quot;writtenQuantity&quot; : 3,
                    &quot;totalRefillsAuthorized&quot; : 10,
                    &quot;usageInstructions&quot; : &quot;Take one per day by mouth with food&quot;,
                    &quot;refillsRemaining&quot; : 10
                  }
                }
              }
            }
          }
        }
      },
      &quot;response&quot; : {
        &quot;errors&quot; : [ {
          &quot;code&quot; : &quot;InvalidInput&quot;,
          &quot;message&quot; : &quot;Missing required parameter(s) from prescriptionDetail value: clinicId&quot;
        } ]
      }
    } ]
  }
}';
            $result = $this->testHelper->extractRequestAndResponse(
                $this->apiInstance,
                $jsonSchema,
                'updateVerificationStatus'
            );
            $requestParams = $result['requestParams'];
            $expectedResponse = $result['expectedResponse'];

            // Change Time Format if it requires
            $specificTimeFormat = $this->testHelper->getDateTimeFormatForCase('OrdersV0Api');
            if ($specificTimeFormat) {
                ObjectSerializer::setDateTimeFormat($specificTimeFormat);
            }

            // Act: Call API
            list($response, $statusCode, $headers) =
                $this->apiInstance->updateVerificationStatusWithHttpInfo(...array_values($requestParams));

            // Assert the response code
            $this->assertHttpStatusCode(400, $statusCode);

            // Handle different response codes
            $this->handleResponse($response, $statusCode, 400, $expectedResponse);
        } catch (ApiException $e) {
            $this->handleApiException($e, 400);
        } catch (\ReflectionException $e) {
            $this->fail("Reflection exception: " . $e->getMessage());
        }
    }
    /**
     * Test case for updateVerificationStatus_403
     */
    public function testUpdateVerificationStatus403()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for updateVerificationStatus_404
     */
    public function testUpdateVerificationStatus404()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for updateVerificationStatus_413
     */
    public function testUpdateVerificationStatus413()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for updateVerificationStatus_415
     */
    public function testUpdateVerificationStatus415()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for updateVerificationStatus_429
     */
    public function testUpdateVerificationStatus429()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for updateVerificationStatus_500
     */
    public function testUpdateVerificationStatus500()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
    /**
     * Test case for updateVerificationStatus_503
     */
    public function testUpdateVerificationStatus503()
    {
        // Skip this test
        $this->markTestSkipped('Skip test for this operation.');
    }
}
